# 1.将内容“诚挚邀请您来参加本次宴会”追加到“邀请函.txt”⽂件末尾。
# with open("/root/python/邀请函.txt",mode="w",encoding='UTF-8') as f :
#     f.write("诚挚邀请您来参加本次宴会")
#     f.close()

# 2.读取邀请函的内容。
# with open("/root/python/邀请函.txt",mode="r",encoding='UTF-8') as f :
#     result=f.read()
#     print(result)
#     f.close()

# 3.修改atm取款机数据为持久化永久存储，csv读取实现（分别使⽤函数实现读和取）,使
# ⽤异常处理atm取款机读取csv时判断⽂件是否存在，如果⽂件不存在提⽰"没有⽂件使⽤
# 原数据"

# 把data保存到csv
# def save() :
#     with open("/root/python/user.csv",mode="w",encoding="UTF-8") as f :
#         result=csv.DictWriter(f,fieldnames=["id","passwd","bat"])
#         result.writeheader()
#         result.writerows(data)
#         f.close()

# # 读取csv覆盖data
# def init() :
#     try :
#         with open("/root/python/user.csv",mode="r") as f :
#             result=csv.DictReader(f)
#             data.clear()
#             for i in result:
#                 data.append(i)
#             f.close()
#     except FileNotFoundError:
#         print("没有文件使用原数据")

# 4.使⽤异常在atm取款机的项⽬中存款函数中：
# 如果输⼊的存款⾦额不是整数则提⽰：请输⼊整数；
# 如果输⼊的存款⾦额不是100的倍数或者是负数则提⽰：请输⼊100的倍数的正整数

# 存款(存钱只能存100的整数)
# def cunMoney(ka1):
#     try :
#         money=input("请输⼊存款⾦额：")
#         if int(money) == 0 :
#             raise ZeroDivisionError("不能输入0")
#         if int(money) < 0 or int(money)%100 != 0 :
#             raise Exception("请输入大于100的倍数的正整数")
#         ka1["bat"]=str(int(ka1["bat"])+int(money))
#         print(f"您已成功存款{money}，您当前的余额为：{ka1['bat']}")
#     except ValueError: 
#         print("请输入整数")
#     except ZeroDivisionError as e:
#         print(e)
#     except Exception as e :
#         print(e)

# 1. 定义⼀个⽔果类，定义属性（名称和颜⾊），使⽤魔法⽅法，然后通过⽔果类，创建
# 苹果对象、橘⼦对象、西⽠对象并分别添加上颜⾊属性，定义⼀个⽅法分别输出
# 如：
# 红⾊的苹果真好吃
# 橙⾊的橘⼦真好吃
# 绿⾊的西⽠真好吃
# class Fruit :
#     #属性
#     color=""
#     name=""
#     #魔法方法
#     def __init__(self,color1,name1):
#         self.color=color1
#         self.name=name1
#     #方法
#     def show(self):
#         print(f"{self.color}的{self.name}真好吃")

# if __name__=="__main__" :
#     apple=Fruit("红色","苹果")
#     apple.show()
#     orange=Fruit("橙色","橘子")
#     orange.show()
#     watermelon=Fruit("绿色","西瓜")
#     watermelon.show()

# 2. 猫类Cat。属性:⽑的颜⾊color，品种breed，亲和度love。⽅法:吃饭eat()
# 狗类Dog。属性:⽑的颜⾊color，品种breed，忠诚度loyal。⽅法:吃饭eat()
# 要求: 使⽤封装、继承和多态
# 根据以上要求抽取⽗类为Animal
# 重写eat⽅法
# 输出打印如下：
# 有⼀只亲和度是10级的花⾊的波斯猫正在吃⻥.....
# 有⼀只忠诚度是9级的⿊⾊的藏獒正在啃⻣头.....
# 有⼀只亲和度是8级的⽩⾊的加菲猫正在吃⻥.....
# 有⼀只忠诚度是6级的棕⾊的茶杯⽝正在啃⻣头.....

# 第一种方法
# class Animal:
#     #属性
#     color=""
#     breed=""
#     level=""
#     #魔法方法
#     def __init__(self,level1,color1,breed1):
#         self.color=color1
#         self.breed=breed1
#         self.level=level1
#     def eat(self):
#         pass

# class Cat(Animal):
#     #属性
#     love=""
#     #eat=""
#     #魔法方法
#     def __init__(self,love1,level1,color1,breed1):
#         super().__init__(level1,color1,breed1)
#         self.love=love1
#     #方法
#     def eat(self):
#         print(f"有一只{self.love}是{self.level}的{self.color}的{self.breed}正在吃鱼.....")
        
# class Dog(Animal):
#     #属性
#     loyal=""
#     #eat=""
#     #魔法方法
#     def __init__(self,loyal1,level1,color1,breed1):
#         super().__init__(level1,color1,breed1)
#         self.loyal=loyal1
#     #方法
#     def eat(self):
#         print(f"有一只{self.loyal}是{self.level}的{self.color}的{self.breed}正在啃骨头.....")

# if __name__=="__main__" :
#     bosi=Cat("亲和度","10级","花色","波斯猫")
#     bosi.eat()
#     zangao=Dog("忠诚度","9级","黑色","藏獒")
#     zangao.eat()
#     jiafei=Cat("亲和度","8级","白色","加菲猫")
#     jiafei.eat()
#     chabei=Dog("忠诚度","6级","棕色","茶杯犬")
#     chabei.eat()

# 第二种方法
# class Animal :
#     # 属性
#     level=""
#     color=""
#     breed=""
#     # 魔法方法
#     def __init__(self,level1,color1,breed1):
#         self.level=level1
#         self.color=color1
#         self.breed=breed1
#     # 父类定义eat()，具体由子类实现
#     def eat(self) :
#         pass

# class Cat(Animal) :
#     # 属性
#     love=""
#     # 魔法方法
#     def __init__(self,love1,level1,color1,breed1):
#         super().__init__(level1, color1, breed1)
#         self.love=love1
#     def eat(self) :
#         print(f"有一只{self.love}是{self.level}的{self.color}的{self.breed}正在吃鱼.....")

# class Dog(Animal) :
#     # 属性
#     loyal=""
#     # 魔法方法
#     def __init__(self,loyal1,level1,color1,breed1):
#         super().__init__(level1, color1, breed1)
#         self.loyal=loyal1
#     def eat(self) :
#         print(f"有一只{self.loyal}是{self.level}的{self.color}的{self.breed}正在啃骨头.....")

# if __name__ == "__main__" :
#     bosi=Cat("亲和度","10级","花色","波斯猫")
#     zangao=Dog("忠诚度","9级","黑色","藏獒")       
#     jiafei=Cat("亲和度","8级","白色","加菲猫")
#     chabei=Dog("忠诚度","6级","棕色","茶杯犬")

# # 调用eat方法(多态)
# bosi.eat()
# zangao.eat()
# jiafei.eat()
# chabei.eat()









